package com.cema.manage.project.manage.antiCheat.domain;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

import java.io.Serializable;
import java.util.Date;

/**
 * 反作弊表 biz_anti_cheat
 *
 * @author reasahi
 * @date 2024-07-15
 */
@TableName(value = "biz_anti_cheat")
public class AntiCheat extends Model<AntiCheat> {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Integer id;
    /**
     * 用户ID
     */
    @TableField(value = "us_id")
    private Integer usId;
    /**
     * 邀请码
     */
    @TableField(value = "us_nickname")
    private String usNickname;
    /**
     * 模拟器
     */
    @TableField(value = "simulator")
    private Integer simulator;
    /**
     * 调试
     */
    @TableField(value = "debug")
    private Integer debug;
    /**
     * wifi代理
     */
    @TableField(value = "wifi_proxy")
    private Integer wifiProxy;
    /**
     * javaHook
     */
    @TableField(value = "java_hook")
    private Integer javaHook;
    /**
     * vpn代理
     */
    @TableField(value = "vpn_proxy")
    private Integer vpnProxy;
    /**
     * 双开
     */
    @TableField(value = "double_open")
    private Integer doubleOpen;
    /**
     * 可信id
     */
    @TableField(value = "zid")
    private String zid;
    /**
     * 是否root
     */
    @TableField(value = "root")
    private Integer root;
    /**
     * 本地hook
     */
    @TableField(value = "native_hook")
    private Integer nativeHook;
    /**
     * aHook
     */
    @TableField(value = "a_hook")
    private Integer aHook;
    /**
     * 风险分，最高100分
     */
    @TableField(value = "risk_score")
    private Integer riskScore;
    /**
     * 风险等级(>=60为RISK,30>=为VERIFY,否则为PASS)
     */
    @TableField(value = "risk_level")
    private String riskLevel;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 设置：主键
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取：主键
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置：用户ID
     */
    public void setUsId(Integer usId) {
        this.usId = usId;
    }

    /**
     * 获取：用户ID
     */
    public Integer getUsId() {
        return usId;
    }

    public String getUsNickname() {
        return usNickname;
    }

    public void setUsNickname(String usNickname) {
        if (StrUtil.isNotEmpty(usNickname)) {
            this.usNickname = usNickname;
        } else {
            this.usNickname = null;
        }
    }

    public Integer getaHook() {
        return aHook;
    }

    public void setaHook(Integer aHook) {
        this.aHook = aHook;
    }

    /**
     * 设置：模拟器
     */
    public void setSimulator(Integer simulator) {
        this.simulator = simulator;
    }

    /**
     * 获取：模拟器
     */
    public Integer getSimulator() {
        return simulator;
    }

    /**
     * 设置：调试
     */
    public void setDebug(Integer debug) {
        this.debug = debug;
    }

    /**
     * 获取：调试
     */
    public Integer getDebug() {
        return debug;
    }

    /**
     * 设置：wifi代理
     */
    public void setWifiProxy(Integer wifiProxy) {
        this.wifiProxy = wifiProxy;
    }

    /**
     * 获取：wifi代理
     */
    public Integer getWifiProxy() {
        return wifiProxy;
    }

    /**
     * 设置：javaHook
     */
    public void setJavaHook(Integer javaHook) {
        this.javaHook = javaHook;
    }

    /**
     * 获取：javaHook
     */
    public Integer getJavaHook() {
        return javaHook;
    }

    /**
     * 设置：vpn代理
     */
    public void setVpnProxy(Integer vpnProxy) {
        this.vpnProxy = vpnProxy;
    }

    /**
     * 获取：vpn代理
     */
    public Integer getVpnProxy() {
        return vpnProxy;
    }

    /**
     * 设置：双开
     */
    public void setDoubleOpen(Integer doubleOpen) {
        this.doubleOpen = doubleOpen;
    }

    /**
     * 获取：双开
     */
    public Integer getDoubleOpen() {
        return doubleOpen;
    }

    /**
     * 设置：可信id
     */
    public void setZid(String zid) {
        if (zid != null) {
            if (zid.trim().isEmpty()) {
                this.zid = null;
            } else {
                this.zid = zid;
            }
        }
    }

    /**
     * 获取：可信id
     */
    public String getZid() {
        return zid;
    }

    /**
     * 设置：是否root
     */
    public void setRoot(Integer root) {
        this.root = root;
    }

    /**
     * 获取：是否root
     */
    public Integer getRoot() {
        return root;
    }

    /**
     * 设置：本地hook
     */
    public void setNativeHook(Integer nativeHook) {
        this.nativeHook = nativeHook;
    }

    /**
     * 获取：本地hook
     */
    public Integer getNativeHook() {
        return nativeHook;
    }

    /**
     * 设置：aHook
     */
    public void setAHook(Integer aHook) {
        this.aHook = aHook;
    }

    /**
     * 获取：aHook
     */
    public Integer getAHook() {
        return aHook;
    }

    /**
     * 设置：风险分，最高100分
     */
    public void setRiskScore(Integer riskScore) {
        this.riskScore = riskScore;
    }

    /**
     * 获取：风险分，最高100分
     */
    public Integer getRiskScore() {
        return riskScore;
    }

    /**
     * 设置：风险等级(>=60为RISK,30>=为VERIFY,否则为PASS)
     */
    public void setRiskLevel(String riskLevel) {
        if (riskLevel != null) {
            if (riskLevel.trim().isEmpty()) {
                this.riskLevel = null;
            } else {
                this.riskLevel = riskLevel;
            }
        }
    }

    /**
     * 获取：风险等级(>=60为RISK,30>=为VERIFY,否则为PASS)
     */
    public String getRiskLevel() {
        return riskLevel;
    }

    /**
     * 设置：创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取：创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置：更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取：更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}

